/*
 * Copyright 2018 JDCLOUD.COM
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http:#www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * 
 * 
 *
 * 
 * Contact: 
 *
 * NOTE: This class is auto generated by the jdcloud code generator program.
 */


using System;
using System.Collections.Generic;
using System.Text;


namespace JDCloudSDK.Hufu.Model
{

    /// <summary>
    ///  api
    /// </summary>
    public class Api
    {

        ///<summary>
        /// apiId
        ///</summary>
        public string ApiId{ get; set; }
        ///<summary>
        /// 分组ID
        ///</summary>
        public string ApiGroupId{ get; set; }
        ///<summary>
        /// 名称
        ///</summary>
        public string ApiName{ get; set; }
        ///<summary>
        /// 动作
        ///</summary>
        public string Action{ get; set; }
        ///<summary>
        /// 请求路径
        ///</summary>
        public string Path{ get; set; }
        ///<summary>
        /// 匹配模式：1.&quot;absolute&quot;(绝对匹配); 2.&quot;prefix&quot;（前缀匹配）;
        ///</summary>
        public string MatchType{ get; set; }
        ///<summary>
        /// 后端类型，为空或null时前端显示未设置
        ///</summary>
        public string BackServiceType{ get; set; }
        ///<summary>
        /// 描述
        ///</summary>
        public string Description{ get; set; }
        ///<summary>
        /// 请求参数列表
        ///</summary>
        public List<Parameter> ReqParams{ get; set; }
        ///<summary>
        /// 请求格式
        ///</summary>
        public string ReqBody{ get; set; }
        ///<summary>
        /// 返回格式
        ///</summary>
        public string ResBody{ get; set; }
        ///<summary>
        /// 请求格式类型,1:application/json,2:text/xml,3:其他
        ///</summary>
        public int? ReqBodyType{ get; set; }
        ///<summary>
        /// 返回格式类型,1:application/json,2:text/xml,3:其他
        ///</summary>
        public int? ResBodyType{ get; set; }
        ///<summary>
        /// api后端配置
        ///</summary>
        public ApiBackendConfig ApiBackendConfig{ get; set; }
        ///<summary>
        /// 应用类型ID,云鼎业务线专用
        ///</summary>
        public int? HufuAppTypeId{ get; set; }
        ///<summary>
        /// 当前分组版本，发布的环境信息
        ///</summary>
        public List<string> DeploymentEnvironment{ get; set; }
        ///<summary>
        /// 请求格式类型,当reqBodyType等于3时,使用该请求格式类型
        ///</summary>
        public string EditableReqBodyType{ get; set; }
        ///<summary>
        /// 响应格式类型,当resBodyType等于3时,使用该响应格式类型
        ///</summary>
        public string EditableResBodyType{ get; set; }
        ///<summary>
        /// waf状态，如：observe,deny,off
        ///</summary>
        public string WafStatus{ get; set; }
        ///<summary>
        /// 请求体格式类型，1代表jsonschema，2代表swagger，默认为1
        ///</summary>
        public int? ReqBodyFormatType{ get; set; }
        ///<summary>
        /// 返回体格式类型，1代表jsonschema，2代表swagger，默认为1
        ///</summary>
        public int? ResBodyFormatType{ get; set; }
    }
}
